PUSH এবং POP নির্দেশনাগুলি Assembly Language প্রোগ্রামিংয়ে স্ট্যাক ব্যবস্থাপনার জন্য ব্যবহৃত হয়। স্ট্যাক একটি লাস্ট-ইন-ফার্স্ট-আউট (LIFO) ডেটা স্ট্রাকচার, যেখানে ডেটা প্রথমে সংরক্ষণ করা হয় এবং পরে পুনরুদ্ধার করা হয়। স্ট্যাক ব্যবস্থাপনা কার্যকরভাবে ফাংশন কল এবং লোকাল ভেরিয়েবল ব্যবস্থাপনার জন্য অপরিহার্য।
PUSH Instruction:
উদাহরণ:
PUSH AX ; AX রেজিস্টারের ডেটা স্ট্যাকে সংরক্ষণ
PUSH [1234h] ; 1234h ঠিকানার ডেটা স্ট্যাকে সংরক্ষণ
POP Instruction:
উদাহরণ:
POP BX ; স্ট্যাকের টপ থেকে ডেটা BX রেজিস্টারে স্থানান্তর
POP [1234h] ; স্ট্যাকের টপ থেকে ডেটা 1234h ঠিকানায় স্থানান্তর
ফাংশন কল এবং রিটার্ন:
লোকাল ভেরিয়েবল ব্যবস্থাপনা:
ইন্টারাপ্ট হ্যান্ডলিং:
section .text
global _start
_start:
MOV AX, 5 ; AX রেজিস্টারে ৫ লোড করা
PUSH AX ; AX এর মান স্ট্যাকে সংরক্ষণ করা
MOV BX, 10 ; BX রেজিস্টারে ১০ লোড করা
PUSH BX ; BX এর মান স্ট্যাকে সংরক্ষণ করা
POP CX ; স্ট্যাক থেকে মান পুনরুদ্ধার করে CX-এ লোড করা (BX এর মান)
POP DX ; স্ট্যাক থেকে মান পুনরুদ্ধার করে DX-এ লোড করা (AX এর মান)
; এখন CX = 10 এবং DX = 5
সারসংক্ষেপ
PUSH এবং POP নির্দেশনাগুলি Assembly Language-এ স্ট্যাক ব্যবস্থাপনার জন্য অপরিহার্য। এগুলি ফাংশন কল, লোকাল ভেরিয়েবল সংরক্ষণ, এবং ইন্টারাপ্ট হ্যান্ডলিংয়ে গুরুত্বপূর্ণ ভূমিকা পালন করে। PUSH নির্দেশনা স্ট্যাকে ডেটা সংরক্ষণ করে এবং POP নির্দেশনা স্ট্যাক থেকে ডেটা পুনরুদ্ধার করে, যা প্রোগ্রামের কার্যপ্রবাহ সঠিকভাবে বজায় রাখতে সাহায্য করে।
common.read_more